package com.ssy.lingxi.purchase.api.dto.response.bidding;

import com.ssy.lingxi.purchase.api.dto.request.EnclosureUrlsRequest;
import com.ssy.lingxi.purchase.api.dto.request.bidding.BiddingProductRequest;
import com.ssy.lingxi.purchase.api.dto.response.CountryAreaResponse;
import com.ssy.lingxi.purchase.api.dto.response.LogStateResponse;
import lombok.Data;

import java.util.List;

/**
 * 竞价单详情
 */
@Data
public class BiddingDetailsResponse {

    /**
     *竞价单
     */
    private Long id;

    /**
     * 竞价单号
     */
    private String biddingNo;

    /**
     * 竞价单摘要
     */
    private String details;

    /**
     * 竞价开始时间
     */
    private Long biddingStartTime;

    /**
     * 竞价结束时间
     */
    private Long biddingEndTime;

    /**
     * 是否使用使用地市：1-是，0-否
     */
    private Integer isAreas;

    /**
     * 适用地市
     */
    private List<CountryAreaResponse> areas;

    /**
     * 添加采购物料方式：1.选择货品生成 2.导入货品生成
     */
    private Integer materielMode;

    /**
     * 起拍价
     */
    private Double startingPrice;

    /**
     * 目标价
     */
    private Double targetPrice;

    /**
     * 最小价差
     */
    private Double minPrice;

    /**
     * 允许报价次数
     */
    private Integer allowPurchaseCount;

    /**
     * 公开当前最低报价 1.是 0.否
     */
    private Integer isOpenPurchase;

    /**
     * 公开报价排名 1.是 0.否
     */
    private Integer isOpenRanking;

    /**
     * 报名要求时间开始
     */
    private Long startSignUp;

    /**
     * 报名要求时间结束
     */
    private Long endSignUp;

    /**
     * 报名要求
     */
    private String demand;

    /**
     * 报名要求附件
     */
    private List<EnclosureUrlsRequest> demandUrls;

    /**
     * 交付日期
     */
    private Long deliver;

    /**
     * 交付地址
     */
    private String address;

    /**
     * 交付地址Id
     */
    private Long addressId;

    /**
     * 报价要求
     */
    private String offer;

    /**
     * 付款方式
     */
    private String paymentType;

    /**
     * 税费要求
     */
    private String taxes;

    /**
     * 物流要求
     */
    private String logistics;

    /**
     * 包装要求
     */
    private String packRequire;

    /**
     * 其他要求
     */
    private String otherRequire;

    /**
     * 交易条件附件
     */
    private List<EnclosureUrlsRequest> urls;

    /**
     * 竞价对接类型：1.发布至平台门户 2.系统匹配 3.指定供应会员
     */
    private Integer type;

    /**
     * 创建会员
     */
    private Long createMemberId;

    /**
     * 创建会员
     */
    private Long createMemberRoleId;

    /**
     * 创建会员
     */
    private String createMemberName;

    /**
     * 单据时间
     */
    private Long createTime;

    /**
     * 最后修改时间
     */
    private Long updateTime;

    /**
     * 外部状态
     */
    private Integer externalState;

    /**
     * 内部状态
     */
    private Integer interiorState;

    /**
     * 外部状态
     */
    private String externalStateName;

    /**
     * 内部状态
     */
    private String interiorStateName;

    /**
     * 采购竞价单物料信息列表
     */
    private List<BiddingProductRequest> materiels;

    /**
     * 采购竞价单内部流程状态图
     */
    private List<LogStateResponse> interiorLogStates;

    /**
     * 审核竞价结果内部流转状态图
     */
    private List<LogStateResponse> examineInteriorLogStates;

    /**
     * 采购竞价单内部操作记录
     */
    private List<BiddingInteriorLogResponse> interiorLogs;

    /**
     * 采购竞价单外部流程状态图
     */
    private List<LogStateResponse> externalLogStates;

    /**
     * 采购竞价单外部操作记录
     */
    private List<ExternalBiddingLogResponse> externalLogs;

    /**
     * 是否发送中标通知 1.是 0.否
     */
    private Integer prizeNotice;

    /**
     * 是否发送发送感谢函 1.是 0.否
     */
    private Integer thank;

    /**
     * 是否发布中标公告 1.是 0.否
     */
    private Integer notice;

    /**
     * 中标公告与通知内容
     */
    private String awardResults;

    /**
     * 感谢函内容
     */
    private String content;

    /**
     * 授标结果
     */
    private AwardsFruitsResponse awardsFruit;

    /**
     * 报名信息
     */
    private List<SginUpInfoResponse> sginUpInfos;

    /**
     * 竞价过程
     */
    private List<AwardProcessResponse> awardProcess;

    /**
     * 发布竞价 绑定的商城Id
     */
    private List<Long> shopIds;

    /**
     * 会员列表
     */
    private List<BiddingMemberResponse> members;

    /**
     *授标意见
     */
    private String signUpIdea;

    /**
     *授标总额(含税)
     */
    private Double sumAwardPrice;

    /**
     *是否有起拍价：1.是 0.否
     */
    private Integer isStartingPrice;

    /**
     *是否有目标价：1.是 0.否
     */
    private Integer isTargetPrice;

    /**
     *是否有最小价差：1.是 0.否
     */
    private Integer isMinPrice;

    /**
     * 授标结果附件
     */
    private List<EnclosureUrlsRequest> returnUrls;

    /**
     *报价总额(含税)
     */
    private Double reportPrice;

    /**
     *竞价排名
     */
    private Long ranking;

    /**
     * 在线竞价id
     */
    private Long onlineId;

    /**
     *是否中标: 1 中标，0 不中标
     */
    private Integer isPrize;

    /**
     *报价截止时间
     */
    private Long days;

    /**
     *报价截止时间
     */
    private Long hours;

    /**
     *报价截止时间
     */
    private Long minutes;

    /**
     *当前供应商竞标剩余轮次
     */
    private Integer turn;

    /**
     *当前供应商是否有报价资格 1:是; 0:否;
     */
    private Integer canRegister;

    /**
     *当前供应商是否已报过价 1:是; 0:否;
     */
    private Integer isRegister;

    /**
     *当前供应商是否已报过名 1:是; 0:否;
     */
    private Integer isSignUp;

    /**
     *是否是自己发布的竞价单,同时判断是不是采购商 1:是; 0:否;
     */
    private Integer isMePublish;
}
